home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / GameKit / Headers / gamekit / PreferencesBrain.h < prev    next >
Text File  |  1995-06-12  |  4KB  |  117 lines

  1.  
  2. /* Generated by Interface Builder */
  3.  
  4. #import <appkit/appkit.h>
  5.  
  6. #define    MAXKEYS    32    // This should be more than enough...
  7. #define    MAXVIEW    8    // This should be plenty...
  8.  
  9. // utility functions to read/write the preferences:
  10. extern BOOL getBOOLPreference(const char *name, BOOL def);
  11. extern int getIntPreference(const char *name, int min, int max, int def);
  12. extern const char *getStringPreference(const char *name, const char *def);
  13. extern void putIntPreference(const char *name, int value);
  14. extern void putBOOLPreference(const char *name, BOOL value);
  15. extern void putStringPreference(const char *name, const char *value);
  16.  
  17. @interface PreferencesBrain:Object
  18. {
  19.     id  info;
  20.     id    levelText;
  21.     id    levelSlider;
  22.     id  scorePlayer;
  23.     id  soundPlayer;
  24.     id  highScoreTable;
  25.     id    strings;            // localized strings
  26.     id    speedButtons;        // buttons to set game speed on pref panel
  27.     id    preferencesPanel;    // preferences panel instance
  28.     id    keyMatrix;            // matrix showing keys to play game
  29.     id    musicButtons;        // radio buttons for music on/off
  30.     id    effectButtons;        // radio buttons for sound effects on/off
  31.     id  gameScreen;            // GameView instance
  32.     id  gameBrain;            // GameBrain instance
  33.     id  demoSwitch;
  34.     id  alertSwitch;
  35.     id  borderSwitch;
  36.     id  autoUnPauseSwitch;
  37.     id  autoStartSwitch;
  38.     id    thePopUpListButton;
  39.     id    thePopUpList;
  40.     id    inspectorBox;
  41.     id  grayView;
  42.     id  viewPlayer;
  43.     id  viewScreen;
  44.     id  viewSound;
  45.     id  serverButton;
  46.     id  serverText;
  47.     id  defaultPlayerName;        // a DAYString
  48.     List    *ViewsList;
  49.  
  50.     BOOL firstLoad, unfair;
  51.     NXRect inspectFrame, view[MAXVIEW];
  52.     
  53.     // instance variables to hold preferences and game status:
  54.     int speed, level, numKeys;
  55.     BOOL music, effects, alert, demoSound, border, autoUnPause,
  56.         autoStart, useServer;
  57.     char *keys[MAXKEYS], *defkey[MAXKEYS], *version, *serverName;
  58. }
  59.  
  60. - init;                            // designated initializer
  61. - appDidInit:sender;    // forwarded by GameBrain
  62. - (BOOL)border;  // return YES if gray border is on
  63. - (int)startLevel;    // returns starting level
  64. - (int)speed;
  65. - (BOOL)effects;
  66. - (BOOL)music;
  67. - (BOOL)alert;
  68. - (BOOL)autoUnPause;
  69. - (BOOL)autoStart;
  70. - (BOOL)demoSound;
  71. - (BOOL)useServer;
  72. - setUseServer:(BOOL)useIt;
  73. - setAlert:(BOOL)al;
  74. - setAutoUnPause:(BOOL)al;
  75. - setAutoStart:(BOOL)al;
  76. - (const char *)serverName;
  77. - setNumKeys:(int)num;
  78. - readDefaults:sender;            // get preferences from defaults database
  79. - writeDefaults:sender;            // save preferences in defaults database
  80. - (BOOL)firstTimeCheck;            // first time running this version?
  81. - revert:sender;                // return to default values
  82. - takeKey:sender;                // used by below (keyChange) to get new keys
  83. - (char)keyVal:(int)keyIndex;    // returns default key for action (0-4)
  84. - keyChange:sender;                // accept changes in keys
  85. - speedChange:sender;            // accept changes in speed
  86. - findKeyFor:sender;            // used by below to set keys in pref. matrix
  87. - setUpViews;
  88. - preferences:sender;            // sets controls on pref panel & brings it up
  89. - refresh;                        // refresh all controls
  90. - free;
  91. - addView:(id)aView withName:(const char *)name;
  92. - show:(const char *)name;
  93. - toggleInspectorPanels:sender;
  94. - turnOnView:(int)i;
  95. - preferencesPanel;                // return the preferencesPanel, load if needed.
  96. - musicChange:sender;            // turn music on/off
  97. - setScore:sender;
  98. - effectsChange:sender;            // turn sound effects on/off
  99. - setDefaultPlayerName:(const char *)aString;    // change default player name
  100. - (const char *)defaultPlayerName;    // return ptr to defaultPlayerName string
  101. - changeLevel:sender;
  102. - alertChange:sender;
  103. - unPauseChange:sender;
  104. - autoStartChange:sender;
  105. - demoSoundChange:sender;        // **New turn off sound only in demo
  106. - setBack:sender;                // set the background image
  107. - revertBack:sender;            // revert to default background image
  108. - (BOOL)borderOn;
  109. - setBorder:(BOOL)newBord;
  110. - borderChange:sender;
  111. - changeServer:sender;
  112. - (BOOL)unfair;
  113. - setUnfair;
  114. - startingGame;                    // reset the unfair variable
  115.  
  116. @end
  117.